package spitfire.ksim.algorithm;

import java.util.List;

import spitfire.ksim.data.TSDRequestData;

/**
 * <p>
 * Interface for algorithms that handling request for node semantic description.
 * </p>
 * <p>
 * Already known implementations: 
 * {@link AccumulativeSelection}, 
 * {@link RepresentativeSelection},
 * </p>
 * 
 * @author Adam
 */
public interface RequestAlgorithm {
	
	/**
	 * Handle the request for semantic description.
	 * 
	 * @param fuzzyEntryList
	 *            - list of fuzzy entries that semantic description is chosen from.
	 * @param requestData
	 *            - request data from the requesting node.
	 *            
	 * @return semantic description for the given node.
	 */
	public String requestForSD(List<FuzzyEntry> fuzzyEntryList, TSDRequestData requestData); 
}
